package com.dianxin.smartpark.dao.dataobject.access;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SmartParkAccessControlPassRecordExample {
    /**
     * smart_park_access_control_pass_record
     */
    protected String orderByClause;

    /**
     * smart_park_access_control_pass_record
     */
    protected boolean distinct;

    /**
     * smart_park_access_control_pass_record
     */
    protected List<Criteria> oredCriteria;

    public SmartParkAccessControlPassRecordExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * smart_park_access_control_pass_record 2021-08-13
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(Date value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(Date value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(Date value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(Date value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<Date> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<Date> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(Date value1, Date value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(Date value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(Date value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(Date value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(Date value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<Date> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<Date> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(Date value1, Date value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("modifier is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("modifier is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(String value) {
            addCriterion("modifier =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(String value) {
            addCriterion("modifier <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(String value) {
            addCriterion("modifier >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(String value) {
            addCriterion("modifier >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(String value) {
            addCriterion("modifier <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(String value) {
            addCriterion("modifier <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLike(String value) {
            addCriterion("modifier like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotLike(String value) {
            addCriterion("modifier not like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<String> values) {
            addCriterion("modifier in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<String> values) {
            addCriterion("modifier not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(String value1, String value2) {
            addCriterion("modifier between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(String value1, String value2) {
            addCriterion("modifier not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Integer value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Integer value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Integer value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Integer value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Integer> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Integer> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNull() {
            addCriterion("tenant_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNotNull() {
            addCriterion("tenant_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantIdEqualTo(String value) {
            addCriterion("tenant_id =", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotEqualTo(String value) {
            addCriterion("tenant_id <>", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThan(String value) {
            addCriterion("tenant_id >", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_id >=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThan(String value) {
            addCriterion("tenant_id <", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThanOrEqualTo(String value) {
            addCriterion("tenant_id <=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLike(String value) {
            addCriterion("tenant_id like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotLike(String value) {
            addCriterion("tenant_id not like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdIn(List<String> values) {
            addCriterion("tenant_id in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotIn(List<String> values) {
            addCriterion("tenant_id not in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdBetween(String value1, String value2) {
            addCriterion("tenant_id between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotBetween(String value1, String value2) {
            addCriterion("tenant_id not between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andOrgCodeIsNull() {
            addCriterion("org_code is null");
            return (Criteria) this;
        }

        public Criteria andOrgCodeIsNotNull() {
            addCriterion("org_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrgCodeEqualTo(String value) {
            addCriterion("org_code =", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeNotEqualTo(String value) {
            addCriterion("org_code <>", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeGreaterThan(String value) {
            addCriterion("org_code >", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeGreaterThanOrEqualTo(String value) {
            addCriterion("org_code >=", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeLessThan(String value) {
            addCriterion("org_code <", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeLessThanOrEqualTo(String value) {
            addCriterion("org_code <=", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeLike(String value) {
            addCriterion("org_code like", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeNotLike(String value) {
            addCriterion("org_code not like", value, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeIn(List<String> values) {
            addCriterion("org_code in", values, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeNotIn(List<String> values) {
            addCriterion("org_code not in", values, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeBetween(String value1, String value2) {
            addCriterion("org_code between", value1, value2, "orgCode");
            return (Criteria) this;
        }

        public Criteria andOrgCodeNotBetween(String value1, String value2) {
            addCriterion("org_code not between", value1, value2, "orgCode");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameIsNull() {
            addCriterion("pass_person_name is null");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameIsNotNull() {
            addCriterion("pass_person_name is not null");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameEqualTo(String value) {
            addCriterion("pass_person_name =", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameNotEqualTo(String value) {
            addCriterion("pass_person_name <>", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameGreaterThan(String value) {
            addCriterion("pass_person_name >", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameGreaterThanOrEqualTo(String value) {
            addCriterion("pass_person_name >=", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameLessThan(String value) {
            addCriterion("pass_person_name <", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameLessThanOrEqualTo(String value) {
            addCriterion("pass_person_name <=", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameLike(String value) {
            addCriterion("pass_person_name like", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameNotLike(String value) {
            addCriterion("pass_person_name not like", value, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameIn(List<String> values) {
            addCriterion("pass_person_name in", values, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameNotIn(List<String> values) {
            addCriterion("pass_person_name not in", values, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameBetween(String value1, String value2) {
            addCriterion("pass_person_name between", value1, value2, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonNameNotBetween(String value1, String value2) {
            addCriterion("pass_person_name not between", value1, value2, "passPersonName");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeIsNull() {
            addCriterion("pass_person_type is null");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeIsNotNull() {
            addCriterion("pass_person_type is not null");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeEqualTo(String value) {
            addCriterion("pass_person_type =", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeNotEqualTo(String value) {
            addCriterion("pass_person_type <>", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeGreaterThan(String value) {
            addCriterion("pass_person_type >", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeGreaterThanOrEqualTo(String value) {
            addCriterion("pass_person_type >=", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeLessThan(String value) {
            addCriterion("pass_person_type <", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeLessThanOrEqualTo(String value) {
            addCriterion("pass_person_type <=", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeLike(String value) {
            addCriterion("pass_person_type like", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeNotLike(String value) {
            addCriterion("pass_person_type not like", value, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeIn(List<String> values) {
            addCriterion("pass_person_type in", values, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeNotIn(List<String> values) {
            addCriterion("pass_person_type not in", values, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeBetween(String value1, String value2) {
            addCriterion("pass_person_type between", value1, value2, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andPassPersonTypeNotBetween(String value1, String value2) {
            addCriterion("pass_person_type not between", value1, value2, "passPersonType");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIsNull() {
            addCriterion("device_code is null");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIsNotNull() {
            addCriterion("device_code is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeEqualTo(String value) {
            addCriterion("device_code =", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotEqualTo(String value) {
            addCriterion("device_code <>", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeGreaterThan(String value) {
            addCriterion("device_code >", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeGreaterThanOrEqualTo(String value) {
            addCriterion("device_code >=", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLessThan(String value) {
            addCriterion("device_code <", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLessThanOrEqualTo(String value) {
            addCriterion("device_code <=", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLike(String value) {
            addCriterion("device_code like", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotLike(String value) {
            addCriterion("device_code not like", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIn(List<String> values) {
            addCriterion("device_code in", values, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotIn(List<String> values) {
            addCriterion("device_code not in", values, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeBetween(String value1, String value2) {
            addCriterion("device_code between", value1, value2, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotBetween(String value1, String value2) {
            addCriterion("device_code not between", value1, value2, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNull() {
            addCriterion("device_name is null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIsNotNull() {
            addCriterion("device_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceNameEqualTo(String value) {
            addCriterion("device_name =", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotEqualTo(String value) {
            addCriterion("device_name <>", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThan(String value) {
            addCriterion("device_name >", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameGreaterThanOrEqualTo(String value) {
            addCriterion("device_name >=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThan(String value) {
            addCriterion("device_name <", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLessThanOrEqualTo(String value) {
            addCriterion("device_name <=", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameLike(String value) {
            addCriterion("device_name like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotLike(String value) {
            addCriterion("device_name not like", value, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameIn(List<String> values) {
            addCriterion("device_name in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotIn(List<String> values) {
            addCriterion("device_name not in", values, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameBetween(String value1, String value2) {
            addCriterion("device_name between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andDeviceNameNotBetween(String value1, String value2) {
            addCriterion("device_name not between", value1, value2, "deviceName");
            return (Criteria) this;
        }

        public Criteria andPassTypeIsNull() {
            addCriterion("pass_type is null");
            return (Criteria) this;
        }

        public Criteria andPassTypeIsNotNull() {
            addCriterion("pass_type is not null");
            return (Criteria) this;
        }

        public Criteria andPassTypeEqualTo(String value) {
            addCriterion("pass_type =", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeNotEqualTo(String value) {
            addCriterion("pass_type <>", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeGreaterThan(String value) {
            addCriterion("pass_type >", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeGreaterThanOrEqualTo(String value) {
            addCriterion("pass_type >=", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeLessThan(String value) {
            addCriterion("pass_type <", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeLessThanOrEqualTo(String value) {
            addCriterion("pass_type <=", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeLike(String value) {
            addCriterion("pass_type like", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeNotLike(String value) {
            addCriterion("pass_type not like", value, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeIn(List<String> values) {
            addCriterion("pass_type in", values, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeNotIn(List<String> values) {
            addCriterion("pass_type not in", values, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeBetween(String value1, String value2) {
            addCriterion("pass_type between", value1, value2, "passType");
            return (Criteria) this;
        }

        public Criteria andPassTypeNotBetween(String value1, String value2) {
            addCriterion("pass_type not between", value1, value2, "passType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeIsNull() {
            addCriterion("certificate_type is null");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeIsNotNull() {
            addCriterion("certificate_type is not null");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeEqualTo(String value) {
            addCriterion("certificate_type =", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeNotEqualTo(String value) {
            addCriterion("certificate_type <>", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeGreaterThan(String value) {
            addCriterion("certificate_type >", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeGreaterThanOrEqualTo(String value) {
            addCriterion("certificate_type >=", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeLessThan(String value) {
            addCriterion("certificate_type <", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeLessThanOrEqualTo(String value) {
            addCriterion("certificate_type <=", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeLike(String value) {
            addCriterion("certificate_type like", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeNotLike(String value) {
            addCriterion("certificate_type not like", value, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeIn(List<String> values) {
            addCriterion("certificate_type in", values, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeNotIn(List<String> values) {
            addCriterion("certificate_type not in", values, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeBetween(String value1, String value2) {
            addCriterion("certificate_type between", value1, value2, "certificateType");
            return (Criteria) this;
        }

        public Criteria andCertificateTypeNotBetween(String value1, String value2) {
            addCriterion("certificate_type not between", value1, value2, "certificateType");
            return (Criteria) this;
        }

        public Criteria andPassStatusIsNull() {
            addCriterion("pass_status is null");
            return (Criteria) this;
        }

        public Criteria andPassStatusIsNotNull() {
            addCriterion("pass_status is not null");
            return (Criteria) this;
        }

        public Criteria andPassStatusEqualTo(Boolean value) {
            addCriterion("pass_status =", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusNotEqualTo(Boolean value) {
            addCriterion("pass_status <>", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusGreaterThan(Boolean value) {
            addCriterion("pass_status >", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusGreaterThanOrEqualTo(Boolean value) {
            addCriterion("pass_status >=", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusLessThan(Boolean value) {
            addCriterion("pass_status <", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusLessThanOrEqualTo(Boolean value) {
            addCriterion("pass_status <=", value, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusIn(List<Boolean> values) {
            addCriterion("pass_status in", values, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusNotIn(List<Boolean> values) {
            addCriterion("pass_status not in", values, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusBetween(Boolean value1, Boolean value2) {
            addCriterion("pass_status between", value1, value2, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassStatusNotBetween(Boolean value1, Boolean value2) {
            addCriterion("pass_status not between", value1, value2, "passStatus");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumIsNull() {
            addCriterion("pass_person_phone_num is null");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumIsNotNull() {
            addCriterion("pass_person_phone_num is not null");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumEqualTo(String value) {
            addCriterion("pass_person_phone_num =", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumNotEqualTo(String value) {
            addCriterion("pass_person_phone_num <>", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumGreaterThan(String value) {
            addCriterion("pass_person_phone_num >", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumGreaterThanOrEqualTo(String value) {
            addCriterion("pass_person_phone_num >=", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumLessThan(String value) {
            addCriterion("pass_person_phone_num <", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumLessThanOrEqualTo(String value) {
            addCriterion("pass_person_phone_num <=", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumLike(String value) {
            addCriterion("pass_person_phone_num like", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumNotLike(String value) {
            addCriterion("pass_person_phone_num not like", value, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumIn(List<String> values) {
            addCriterion("pass_person_phone_num in", values, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumNotIn(List<String> values) {
            addCriterion("pass_person_phone_num not in", values, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumBetween(String value1, String value2) {
            addCriterion("pass_person_phone_num between", value1, value2, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonPhoneNumNotBetween(String value1, String value2) {
            addCriterion("pass_person_phone_num not between", value1, value2, "passPersonPhoneNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumIsNull() {
            addCriterion("pass_person_id_num is null");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumIsNotNull() {
            addCriterion("pass_person_id_num is not null");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumEqualTo(String value) {
            addCriterion("pass_person_id_num =", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumNotEqualTo(String value) {
            addCriterion("pass_person_id_num <>", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumGreaterThan(String value) {
            addCriterion("pass_person_id_num >", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumGreaterThanOrEqualTo(String value) {
            addCriterion("pass_person_id_num >=", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumLessThan(String value) {
            addCriterion("pass_person_id_num <", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumLessThanOrEqualTo(String value) {
            addCriterion("pass_person_id_num <=", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumLike(String value) {
            addCriterion("pass_person_id_num like", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumNotLike(String value) {
            addCriterion("pass_person_id_num not like", value, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumIn(List<String> values) {
            addCriterion("pass_person_id_num in", values, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumNotIn(List<String> values) {
            addCriterion("pass_person_id_num not in", values, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumBetween(String value1, String value2) {
            addCriterion("pass_person_id_num between", value1, value2, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassPersonIdNumNotBetween(String value1, String value2) {
            addCriterion("pass_person_id_num not between", value1, value2, "passPersonIdNum");
            return (Criteria) this;
        }

        public Criteria andPassTimeIsNull() {
            addCriterion("pass_time is null");
            return (Criteria) this;
        }

        public Criteria andPassTimeIsNotNull() {
            addCriterion("pass_time is not null");
            return (Criteria) this;
        }

        public Criteria andPassTimeEqualTo(Date value) {
            addCriterion("pass_time =", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeNotEqualTo(Date value) {
            addCriterion("pass_time <>", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeGreaterThan(Date value) {
            addCriterion("pass_time >", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pass_time >=", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeLessThan(Date value) {
            addCriterion("pass_time <", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeLessThanOrEqualTo(Date value) {
            addCriterion("pass_time <=", value, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeIn(List<Date> values) {
            addCriterion("pass_time in", values, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeNotIn(List<Date> values) {
            addCriterion("pass_time not in", values, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeBetween(Date value1, Date value2) {
            addCriterion("pass_time between", value1, value2, "passTime");
            return (Criteria) this;
        }

        public Criteria andPassTimeNotBetween(Date value1, Date value2) {
            addCriterion("pass_time not between", value1, value2, "passTime");
            return (Criteria) this;
        }

        public Criteria andAccessNumIsNull() {
            addCriterion("access_num is null");
            return (Criteria) this;
        }

        public Criteria andAccessNumIsNotNull() {
            addCriterion("access_num is not null");
            return (Criteria) this;
        }

        public Criteria andAccessNumEqualTo(String value) {
            addCriterion("access_num =", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumNotEqualTo(String value) {
            addCriterion("access_num <>", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumGreaterThan(String value) {
            addCriterion("access_num >", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumGreaterThanOrEqualTo(String value) {
            addCriterion("access_num >=", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumLessThan(String value) {
            addCriterion("access_num <", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumLessThanOrEqualTo(String value) {
            addCriterion("access_num <=", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumLike(String value) {
            addCriterion("access_num like", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumNotLike(String value) {
            addCriterion("access_num not like", value, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumIn(List<String> values) {
            addCriterion("access_num in", values, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumNotIn(List<String> values) {
            addCriterion("access_num not in", values, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumBetween(String value1, String value2) {
            addCriterion("access_num between", value1, value2, "accessNum");
            return (Criteria) this;
        }

        public Criteria andAccessNumNotBetween(String value1, String value2) {
            addCriterion("access_num not between", value1, value2, "accessNum");
            return (Criteria) this;
        }

        public Criteria andScreenshotIsNull() {
            addCriterion("screenshot is null");
            return (Criteria) this;
        }

        public Criteria andScreenshotIsNotNull() {
            addCriterion("screenshot is not null");
            return (Criteria) this;
        }

        public Criteria andScreenshotEqualTo(String value) {
            addCriterion("screenshot =", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotNotEqualTo(String value) {
            addCriterion("screenshot <>", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotGreaterThan(String value) {
            addCriterion("screenshot >", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotGreaterThanOrEqualTo(String value) {
            addCriterion("screenshot >=", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotLessThan(String value) {
            addCriterion("screenshot <", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotLessThanOrEqualTo(String value) {
            addCriterion("screenshot <=", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotLike(String value) {
            addCriterion("screenshot like", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotNotLike(String value) {
            addCriterion("screenshot not like", value, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotIn(List<String> values) {
            addCriterion("screenshot in", values, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotNotIn(List<String> values) {
            addCriterion("screenshot not in", values, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotBetween(String value1, String value2) {
            addCriterion("screenshot between", value1, value2, "screenshot");
            return (Criteria) this;
        }

        public Criteria andScreenshotNotBetween(String value1, String value2) {
            addCriterion("screenshot not between", value1, value2, "screenshot");
            return (Criteria) this;
        }

        public Criteria andSimilarityIsNull() {
            addCriterion("similarity is null");
            return (Criteria) this;
        }

        public Criteria andSimilarityIsNotNull() {
            addCriterion("similarity is not null");
            return (Criteria) this;
        }

        public Criteria andSimilarityEqualTo(Integer value) {
            addCriterion("similarity =", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityNotEqualTo(Integer value) {
            addCriterion("similarity <>", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityGreaterThan(Integer value) {
            addCriterion("similarity >", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityGreaterThanOrEqualTo(Integer value) {
            addCriterion("similarity >=", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityLessThan(Integer value) {
            addCriterion("similarity <", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityLessThanOrEqualTo(Integer value) {
            addCriterion("similarity <=", value, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityIn(List<Integer> values) {
            addCriterion("similarity in", values, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityNotIn(List<Integer> values) {
            addCriterion("similarity not in", values, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityBetween(Integer value1, Integer value2) {
            addCriterion("similarity between", value1, value2, "similarity");
            return (Criteria) this;
        }

        public Criteria andSimilarityNotBetween(Integer value1, Integer value2) {
            addCriterion("similarity not between", value1, value2, "similarity");
            return (Criteria) this;
        }
    }

    /**
     * smart_park_access_control_pass_record
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    /**
     * smart_park_access_control_pass_record 2021-08-13
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}